// datatype scalar integer type
pub fn datatype_scalar_i8(value: i8) -> i8 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_u8(value: u8) -> u8 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_i16(value: i16) -> i16 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_u16(value: u16) -> u16 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_i32(value: i32) -> i32 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_u32(value: u32) -> u32 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_i64(value: i64) -> i64 {
    let result = value + 1;
    return result;
}
pub fn datatype_scalar_u64(value: u64) -> u64 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_i128(value: i128) -> i128 {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_u128(value: u128) -> u128 {
    let result = value + 1;
    return result;
}

// datatype scalar integer type - rely on x86 is 32, x86_64 is 64
pub fn datatype_scalar_isize(value: isize) -> isize {
    let result = value + 1;
    return result;
}

pub fn datatype_scalar_usize(value: usize) -> usize {
    let result = value + 1;
    return result;
}

// datatype scalar float type
pub fn datatype_scalar_f32(value: f32) -> f32 {
    let result = value + 0.1;
    return result;
}

pub fn datatype_scalar_f64(value: f64) -> f64 {
    let result = value + 0.1;
    return result;
}

// datatype bool type
pub fn datatype_bool(value: bool) -> bool {
    let result = !value;
    return result;
}

pub fn datatype_char(value: char) -> char {
    if value.is_ascii_uppercase() {
        return value.to_ascii_lowercase();
    } else {
        return value.to_ascii_uppercase();
    }
}

// todo: need rename
pub fn basic_str(value: String) -> String {
    let result = value + ":basic string.";
    return result;
}